const log4js = require('log4js');

const logger = log4js.getLogger('bitCoinServer');

// log4js.configure({
//     appenders: {
//         file: { type: 'file', filename: './logs/all-the-main.log', maxLogSize: 1024, numBackups: 5, compress: true },
//         server: { type: 'multiprocess', mode: 'master', appender: 'file', loggerHost: '192.168.2.152' },
//         out: { type: 'stdout' }
//     },

//     categories: {
//         default: { appenders: ['file', 'out'], level: 'info' }
//     }
// });

// log4js.configure({
//     appenders: {
//         file: { type: 'file', filename: './logs/all-the-child.log', maxLogSize: 1024, numBackups: 5, compress: true },
//         network: { type: 'multiprocess', mode: 'worker', loggerHost: '192.168.2.152' },
//         out: { type: 'stdout' }
//     },
//     categories: {
//         default: { appenders: ['network', 'out'], level: 'info' }
//     }
// });

log4js.configure(
    {
        appenders: {
            // console: {
            //     type: 'console',
            //     category: "console"
            // },
            // file: {
            //     type: 'file',
            //     filename: './logs/bitCoinServer.log',//文件目录，当目录文件或文件夹不存在时，会自动创建
            //     maxLogSize: 1024*1024,//文件最大存储空间，当文件内容超过文件存储空间会自动生成一个文件test.log.1的序列自增长的文件
            //     backups: 3,//当文件内容超过文件存储空间时，备份文件的数量
            //     compress: true,//是否以压缩的形式保存新文件,默认false。如果true，则新增的日志文件会保存在gz的压缩文件内，并且生成后将不被替换，false会被替换掉
            //     encoding: 'utf-8',//default "utf-8"，文件的编码
            //     category: 'bitCoinServer',
            //     numBackups: 5, // keep five backup files
            //     encoding: 'utf-8',
            //     mode: 0777,
            //     flags: 'w+'
            // },
            dateFile: {
                type: 'dateFile',
                filename: './logs/exports/bitserver.log',
                pattern: '-yyyy-MM-dd-hh.log',
                compress: false,
                alwaysIncludePattern: true,
                // keepFileExt: true,
                mode: 0777,
                flags: 'a'
            },
            out: {
                type: 'stdout'
            }
        },
        categories: {
            default: { appenders: [/*'console', 'file',*/ 'dateFile', 'out'], level: 'info' }
        }
    }
);

module.exports = { logger } 